﻿using IT_RoadBlock.Comands;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace IT_RoadBlock.Entities
{
    [Table("T_PROJECT_INJECTION_INFO")]
    public class TProjectInjectionInfo: BaseSelectEntity
    {
        private int? id;
        private string projectCode;
        private string localClass;
        private string fragment;
        private string shamMean;
        private string truthfulMean;
        private string hashCode;

        [Key]
        [Column("ID")]
        public int? Id { get => id; set => id = value; }


        [MaxLength(64)]
        [Column("PROJECT_CODE")]
        public string ProjectCode { get => projectCode; set {
                projectCode = value;
                OnPropertyChanged(nameof(ProjectCode));
            } 
        }

        [MaxLength(64)]
        [Column("LOCAL_CLASS")]
        public string LocalClass { get => localClass; set { localClass = value;
                OnPropertyChanged(nameof(LocalClass));
            }
        }


        [MaxLength(3000)]
        [Column("FRAGMENT")]
        public string Fragment { get => fragment; set { fragment = value;
                OnPropertyChanged(nameof(Fragment));
            }
        }

        [MaxLength(3000)]
        [Column("SHAM_MEAN")]
        public string ShamMean { get => shamMean; set { shamMean = value;
                OnPropertyChanged(nameof(ShamMean));
            }
        }


        [MaxLength(500)]
        [Column("TRUTHFUL_MEAN")]
        public string TruthfulMean { get => truthfulMean; set { 
                truthfulMean = value;
                OnPropertyChanged(nameof(TruthfulMean));
            }
           }

        [MaxLength(32)]
        [Column("HASH_CODE")]
        public string HashCode { get => hashCode; set {
                hashCode = value;
                OnPropertyChanged(nameof(HashCode));
            }
        }


        [Column("CREATE_TIME")]
        public DateTime? CreateTime { get; set; }
    }
}
